SQlite源码分析

sqLite为什么要使用虚拟机

跨平台(个人理解)

流程:1.将SQL语句编译为虚拟机指令 2.虚拟机执行指令(调用B-tree相关的接口)

sqLite会根据不同平台实现虚拟机,例如根据Android和iOS平台实现虚拟机的功能。VDBE有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统,VDBE屏蔽了与具体操作系统平台相关的信息,使得程序只需生成在虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

B树的主要工作是实现数据库文件的存储。它将所有的页面以树形结构组织起 来,高度优化了索引查找机制。页面缓存服务于B树,主要负责传输以及提高工 作的效率,在磁盘上以B树形式传输页面。